package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 商城店铺信息对象 jiajia_mall_shop_information
 * 
 * @author ruoyi
 * @date 2025-03-05
 */
public class JiajiaMallShopInformation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 店铺名字 */
    @Excel(name = "店铺名字")
    private String shopName;

    /** 工商登记号 */
    @Excel(name = "工商登记号")
    private String shopCertNo;


    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /** 负责人（法人） */
    private Long userId;

    /** 负责人（法人） */
    @Excel(name = "负责人", readConverterExp = "法=人")
    private String legalName;

    /** 负责人证件号 */
    @Excel(name = "负责人证件号")
    private String legalCertNo;

    /** 负责人电话 */
    @Excel(name = "负责人电话")
    private String legalPhone;

    /** 负责人户籍地址（身份证详细地址） */
    @Excel(name = "负责人户籍地址", readConverterExp = "身=份证详细地址")
    private String legalRegisteredAddress;

    /** 负责人居住地址 */
    @Excel(name = "负责人居住地址")
    private String legalResidentialAddress;

    /** 账户开户行 */
    @Excel(name = "账户开户行")
    private String openingBank;

    /** 收款账户 */
    @Excel(name = "收款账户")
    private String accountNumber;

    /** 加入平台时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "加入平台时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime joiningStartTime;

    /** 店铺状态（0 营业 其余为非正常状态） */
    @Excel(name = "店铺状态", readConverterExp = "0=,营=业,其=余为非正常状态")
    private String shopStatus;

    /** 店铺等级 */
    @Excel(name = "店铺等级")
    private String shopLevel;

    @Excel(name = "店铺图片")
    private String photoUrl;

    @Excel(name = "店铺轮播图")
    private String photoUrls;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setShopName(String shopName) 
    {
        this.shopName = shopName;
    }

    public String getShopName() 
    {
        return shopName;
    }
    public void setShopCertNo(String shopCertNo) 
    {
        this.shopCertNo = shopCertNo;
    }

    public String getShopCertNo() 
    {
        return shopCertNo;
    }
    public void setLegalName(String legalName) 
    {
        this.legalName = legalName;
    }

    public String getLegalName() 
    {
        return legalName;
    }
    public void setLegalCertNo(String legalCertNo) 
    {
        this.legalCertNo = legalCertNo;
    }

    public String getLegalCertNo() 
    {
        return legalCertNo;
    }
    public void setLegalPhone(String legalPhone) 
    {
        this.legalPhone = legalPhone;
    }

    public String getLegalPhone() 
    {
        return legalPhone;
    }
    public void setLegalRegisteredAddress(String legalRegisteredAddress) 
    {
        this.legalRegisteredAddress = legalRegisteredAddress;
    }

    public String getLegalRegisteredAddress() 
    {
        return legalRegisteredAddress;
    }
    public void setLegalResidentialAddress(String legalResidentialAddress) 
    {
        this.legalResidentialAddress = legalResidentialAddress;
    }

    public String getLegalResidentialAddress() 
    {
        return legalResidentialAddress;
    }
    public void setOpeningBank(String openingBank) 
    {
        this.openingBank = openingBank;
    }

    public String getOpeningBank() 
    {
        return openingBank;
    }
    public void setAccountNumber(String accountNumber) 
    {
        this.accountNumber = accountNumber;
    }

    public String getAccountNumber() 
    {
        return accountNumber;
    }
    public void setJoiningStartTime(LocalDateTime joiningStartTime)
    {
        this.joiningStartTime = joiningStartTime;
    }

    public LocalDateTime getJoiningStartTime()
    {
        return joiningStartTime;
    }
    public void setShopStatus(String shopStatus) 
    {
        this.shopStatus = shopStatus;
    }

    public String getShopStatus() 
    {
        return shopStatus;
    }
    public void setShopLevel(String shopLevel) 
    {
        this.shopLevel = shopLevel;
    }

    public String getShopLevel() 
    {
        return shopLevel;
    }

    public String getPhotoUrl() {
        return photoUrl;
    }

    public void setPhotoUrl(String photoUrl) {
        this.photoUrl = photoUrl;
    }

    public String getPhotoUrls() {
        return photoUrls;
    }

    public void setPhotoUrls(String photoUrls) {
        this.photoUrls = photoUrls;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("shopName", getShopName())
            .append("shopCertNo", getShopCertNo())
            .append("legalName", getLegalName())
            .append("legalCertNo", getLegalCertNo())
            .append("legalPhone", getLegalPhone())
            .append("legalRegisteredAddress", getLegalRegisteredAddress())
            .append("legalResidentialAddress", getLegalResidentialAddress())
            .append("openingBank", getOpeningBank())
            .append("accountNumber", getAccountNumber())
            .append("joiningStartTime", getJoiningStartTime())
            .append("shopStatus", getShopStatus())
            .append("shopLevel", getShopLevel())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
